package DataStructure.二叉树;

import java.util.ArrayList;
import java.util.List;

/**
 * @author ligaojian
 * @version 1.0
 * @description: 前序遍历
 * @date 2021/11/8 22:23
 */
public class preorderTraversal {

    public List<Integer> preorderTraversal1(TreeNode root) {
        //新建一个数组，用来存放遍历的节点
        List<Integer> arr = new ArrayList<>();
        preorder(root,arr);  //调用遍历方法
        return arr;
    }
    //递归遍历
    public void preorder(TreeNode root,List<Integer> arr) {
        //设置结束条件
        if (root == null) {
            return;
        }
        arr.add(root.val);    //将子节点添加到数组
        preorder(root.left,arr);   //遍历左节点，调用递归，把根节点的左边的所有的节点遍历完
        preorder(root.right,arr);   //遍历右节点， 调用递归。。。
    }
}
